package idx

/*
head： 四个字节
	   		 1					1			1 			1
	   		/ \					|			｜			｜
未使用 - 0000 000 0 		       未使用	   未使用	  name长度
    		 	 |
  			   是否删除
*/

type IdxHead uint32

func (f *IdxHead) SetDel() {
	*f = IdxHead(uint32(*f) | (isDel << 24))
}

// SetLen 最大255， 所以只有最后八位有效
func (f *IdxHead) SetLen(len uint32) {
	*f = IdxHead(uint32(*f) | (len & 0xff))
}

func (f IdxHead) Del() bool {
	return uint32(f)>>24&isDel == isDel
}

func (f IdxHead) Len() uint32 {
	return uint32(f) & 0xff
}

func (f IdxHead) Count() int64 {
	return int64(f.Len()) + FixedLength
}
